package game.entidades;

import java.awt.Graphics2D;
import java.awt.Image;

/**
 * Representa as naves inimigas.
 * @author LeandroBeni e DeboraGonçalves
 */
public class NaveInimiga extends Creatura {

    private Image imagem = null;
    private int numInteligencia;

    /**
     * Construtor padrão que chama o contrutor da super-classe.
     * @param x posição no eixo x.
     * @param y posição no eixo y.
     * @param velocidadeX velocidade que a criatura se move no eixo x.
     * @param velocidadeY velocidade que a criatura se move no eixo y.
     * @param inteligencia seleciona qual IA a nave usara para se mover.
     */
    public NaveInimiga(Image imagem, float x, float y, float velocidadeX, float velocidadeY, int inteligencia) {
        super(x, y, velocidadeX, velocidadeY);
        this.imagem = imagem;
        this.numInteligencia = inteligencia;
    }

    /**
     * Sobrescreve o metodo draw das classes super para desenha a nave inimiga na tela.
     * @param g Contexto grafico onde desenhara a nave.
     */
    @Override
    public void draw(Graphics2D g) {
        g.drawImage(imagem, (int) this.getX(), (int) this.getY(), null);

    }

    /**
     * Movimenta a nave utilizando sua Inteligencia.
     * @param elapsedTime Tempo decorrido desde a ultima execução.
     */
    public void update(long elapsedTime) {

        switch (numInteligencia) {
            case 1:
                setX(this.getX() + (elapsedTime * this.getVelocidadeX()));
                setY(this.getY() + (elapsedTime * this.getVelocidadeY()));
                break;

            case 2:
                this.setX(this.getX() - elapsedTime * this.getVelocidadeX());
                this.setY(this.getY() + elapsedTime * this.getVelocidadeY());
                break;

            default:
                break;
        }

    }
}
